Enterprise application performance management is a set of processes that enable the management of performance of an organization to achieve one or more pre-selected goals.
An exemplary embodiment of currently available performance monitoring and management systems is illustrated in FIG. 1. Most of the current management systems collect various performance metrics from a server 100 in the system. Using the collected performance metrics, the system will generate time scaled system metrics 102. In addition, various thresholds 104 will be defined by the Information Technology (IT) team 106. The system will then co-relate the time-scaled system metrics 102 with the thresholds 104. Based on the co-relation, a breach identifier 108 will identify a breach. Once a breach is identified, a reporting unit 110 generates an appropriate alarm and reports the breach.
In addition to these processes, some of the existing performance monitoring and management systems comprise an issue diagnostic unit 112 that has diagnostic capabilities to identify hotspot areas by co-relating and analyzing metrics. Further, some systems comprise predictive analysis unit 114 which has forecasting capabilities to predict performance based on the historic performance of the system. Also, some systems include system execution model 116 that have capabilities to define and monitor performance of business transactions and drill down to view individual systems performance metrics in the distributed transaction path.
The above described performance management systems identify performance issues on occurrence, but they cannot accurately pin point the components affecting business transaction performance due to the following reasons.
Firstly, none of the currently available performance management systems accurately track transaction passing through multiple layers/applications/servers in an enterprise or in dynamic environments, for example: cloud, as the metrics in each layer is supported by a different format.
Secondly, the current systems do not co-relate workload elements while identifying threshold breaches and while diagnosing performance issues. Further, while predicting future workload, the current systems do not consider the trends observed in the current workload, for example: increase in number of users, month-on-month growth in number of requests. Further, none of the currently available systems co-relate performance improvement/degradation with corresponding impact on business.
External factors like change in workload, change in data volume, existing/target infrastructure etc must be considered while forecasting performance as these factors can change the performance characteristics. However, none of the present systems take into account all these external factors while calculating the performance.
Therefore, there exists a need to develop a system and a method for managing performance of an enterprise application to overcome the above-mentioned problems.